package com.coach.enums;


import java.util.Map;


import com.google.common.collect.Maps;

public enum CompanyInfoEnum {
	
	
	/*获取.name 时转成实体 VipPower 进行操作
	VipPower vip = JSONObject.parseObject(CompanyInfoEnum.GRADE_VIP0.name(), VipPower.class);*/
	GRADE_VIP0(0, getDescription(0)),
	GRADE_VIP1(1, getDescription(1)),
	GRADE_VIP2(2, getDescription(2)),
	GRADE_VIP3(3, getDescription(3)),
	GRADE_VIP4(4, getDescription(4));
	
	private final int value;

	private final String description;

	private CompanyInfoEnum(int value, String description) {
		this.value = value;
		this.description = description;
	}

	public int value() {
		return this.value;
	}
	
	public String description(){
		return this.description;
	}
	
	public static String getDescription(int vipLevel){
		String result = null;
		
		Map<String, Object> map = Maps.newHashMap();
		
		/*TODO 集团的等级(0:普通企业,1:VIP1,2:VIP2,3:VIP3...依次类推;根据企业累计充值金额
		自动改变企业级别,累计充值金额需要用到money_balance表统计)
		
		不限制企业圈子数量,只限制圈子人数上限。
		*/
		switch (vipLevel) {
		case 0:
			map.put("needMoney", 0);		//级别需要累计充值金额
			map.put("menbers", 150);		//圈子人数最大值==企业人数最大值
			map.put("eventMenbers", 150);	//一项活动最多参加人数上限
			map.put("eventGroup", 10);		//一项活动最多参加号团上限
			map.put("gradeCount", 2);		//企业层级数==号团最多层级
			map.put("eventToTheHall", 0);	//发布到大厅的活动上限

			break;
		case 1:
			map.put("needMoney", 7999);		//级别需要累计充值金额
			map.put("menbers", 500);		//圈子人数最大值==企业人数最大值
			map.put("eventMenbers", 500);	//一项活动最多参加人数上限
			map.put("eventGroup", 50);		//一项活动最多参加号团上限
			map.put("gradeCount", 3);		//企业层级数==号团最多层级
			map.put("eventToTheHall", 2);	//发布到大厅的活动上限
			break;
		case 2:
			map.put("needMoney", 79999);	//级别需要累计充值金额
			map.put("menbers", 1000);		//圈子人数最大值==企业人数最大值
			map.put("eventMenbers", 1000);	//一项活动最多参加人数上限
			map.put("eventGroup", 100);		//一项活动最多参加号团上限
			map.put("gradeCount", 4);		//企业层级数==号团最多层级
			map.put("eventToTheHall", 10);	//发布到大厅的活动上限
			break;
		case 3:
			map.put("needMoney", 249999);	//级别需要累计充值金额
			map.put("menbers", 5000);		//圈子人数最大值==企业人数最大值
			map.put("eventMenbers", 5000);	//一项活动最多参加人数上限
			map.put("eventGroup", 500);		//一项活动最多参加号团上限
			map.put("gradeCount", 5);		//企业层级数==号团最多层级
			map.put("eventToTheHall", 50);	//发布到大厅的活动上限
			break;
		case 4:
			map.put("needMoney", 499999);	//级别需要累计充值金额
			map.put("menbers", 10000);		//圈子人数最大值==企业人数最大值
			map.put("eventMenbers", 10000);	//一项活动最多参加人数上限
			map.put("eventGroup", 1000);	//一项活动最多参加号团上限
			map.put("gradeCount", 6);		//企业层级数==号团最多层级
			map.put("eventToTheHall", 100);	//发布到大厅的活动上限
			break;
		default:
			map.put("needMoney", 0);		//级别需要累计充值金额
			map.put("menbers", 0);			//圈子人数最大值==企业人数最大值
			map.put("eventMenbers", 0);		//一项活动最多参加人数上限
			map.put("eventGroup", 0);		//一项活动最多参加号团上限
			map.put("gradeCount", 0);		//企业层级数==号团最多层级
			map.put("eventToTheHall", 0);	//发布到大厅的活动上限
			break;
		}
		

		return result;
	}

	
}
